Messaging Service
Volume Number: 10
Issue Number: 2
Column Tag: AOCE
Messaging Service Access Modules
By Monica Pal, Apple Computer, Inc.
Introduction
Apple’s new System 7 Pro adds AppleScript™, QuickTime™ and PowerTalk™ to
the System 7 Macintosh Operating System.
PowerTalk system software and PowerShare™ servers contain several new
technologies that enable developers to create a new and exciting generation of
collaborative applications. PowerTalk, PowerTalk-savvy and collaborative
applications enable PowerTalk users to communicate and exchange information in a
simple, consistent manner.
PowerTalk system software and PowerShare servers implement the Apple Open
Collaboration Environment (AOCE™), an architecture for collaboration. AOCE defines
mail and messaging, catalog, authentication and digital signature services. AOCE also
defines Messaging Service Access Modules (MSAMs), applications that enable
PowerTalk users to communicate with external or non-AOCE system users. This
article describes AOCE messaging service access modules.
AOCE
AOCE store and forward messaging services enable PowerTalk users to exchange
information over phone lines and the AppleTalk network. PowerTalk users can also
exchange information over other media and with users on external or non-AOCE
messaging systems via AOCE messaging service access modules.
Before sending messages, users must be able to address the messages. AOCE
catalog services enable users to store address information and any other data that may
be required for collaboration. Users may store information in personal catalogs on
their PowerTalk machine or on PowerShare catalog servers. Users may also store and
access information on external or non-AOCE catalog or directory servers from their
PowerTalk machine via catalog service access modules.
With the advent of the data-highway and with more and more people collaborating
electronically, there is a need for electronic communication to be authenticated - a
need for the collaborating parties to be assured of the identity of the people that they
are exchanging information with. There is also a need for the communication to be
private, so that no one else can eavesdrop or wire-tap on the conversation or tamper
with the data that is being exchanged. AOCE mutual authentication services and the
Apple Secure Data Stream Protocol (ASDSP) enable people and processes to verify the
identity of the person on the other side of the communications session and to encrypt
the data that is exchanged.
AOCE digital signatures technology enables users to sign documents electronically
such that recipients can verify the name of the signer and verify that the document has
not been altered since it was signed.
AOCE services are provided by the Inter-Program Messaging Manager, Catalog
Manager, Authentication Manager and Digital Signatures Manager.
PowerTalk
PowerTalk extends the user’s reach by enabling users to access external or
non-AOCE messaging and catalog services by dragging and dropping messaging service
access modules and catalog services access modules into their system folder. Once
external services have been installed and configured, users can access them without
launching separate applications and logging-in to each external system.
PowerTalk enables users to access AOCE and external collaboration services in a
simple, standard manner in the Finder by installing three new icons on the desktop -
the Universal Mailbox, Catalog Browser and Keychain.
PowerTalk also enables users to access AOCE and external collaboration services
in a consistent manner from within any PowerTalk-savvy application by providing
two standard dialogs implemented by the Standard Catalog Package and the Standard
Mail Package.
Before PowerTalk, my work day would begin by picking up letters delivered by
the U.S. Postal service, company mail service, and faxes from my mailbox in the
mailroom. Then I would get to my desk and check my voice mail, followed by
AppleLinks, Internet mail and QuickMail. If I wanted to send a letter, I printed copies
to send via the U.S. Postal service or fax or I logged-in to different electronic mail
systems to send my letter.
With PowerTalk, I can browse for and find addresses of AOCE and external mail
system recipients using the Catalog Browser in the Finder or Standard Catalog from
within an application. I can then drag my letter to the address icon or use the Standard
Mail dialog (also called the Mailer) to address the letter, indicate the subject of the
letter, add enclosures, sign and send the letter.
I can view - enumerate and read - faxes, voicemail, PowerTalk letters, letters in
my accounts on external mail systems etc., from within my Universal Mailbox on the
desktop.
In the next section, we examine MSAMs, the AOCE components that enable
PowerTalk users to read all their mail in one place and send mail to users on all types
of mail systems in one way.
Messaging Service Access Modules
MSAMs allow PowerTalk users to exchange mail and messages with users of
non-PowerTalk or external mail and messaging systems.
MSAMs transport messages between an AOCE system and an external mail system
and translate messages between the AOCE message format and the external mail
system’s message format.
Translating a message includes translating the contents of the message and
translating addresses in the message. Sometimes, parts of a message cannot be
translated. For example, some external systems only understand plain text. In this
case, MSAMs will indicate that data was lost in the translation. For example, if the
message contained a picture, the MSAM will indicate that the original message
contained a picture that could not be translated.
In addition to transporting and translating messages, MSAMs also generate
reports on messages. A report is sent to the sender of a message to inform the sender
that a message was successfully delivered or that a message was not delivered to one or
more recipients.
There are two types of Messaging Service Access Modules - Personal Messaging
Service Access Modules (PMSAMs) and Server-based Messaging Service Access
Modules (SMSAMs).
A PMSAM is an application that runs on the user’s PowerTalk machine. A PMSAM
allows a PowerTalk user to read mail that has arrived in his/her account or mailbox
on a different mail system and to send mail to people that have accounts on that
external mail system. A PMSAM logs into the external mail account using the user’s
account name and password in order to read and send mail.
An SMSAM is an application that runs on a PowerShare mail server. An SMSAM
allows PowerShare users to exchange mail with users that have accounts on external
mail systems. A SMSAM is similar to a traditional mail gateway in that it forwards
mail from one mail system to another and operates on behalf of users of either mail
system. It does not need to know about individual users and does not log into individual
user accounts.
Both PMSAMs and SMSAMs communicate with the Messaging Manager using the
Messaging Manager’s back-end MSAM API. The MSAM API includes calls that enable
AOCE messages to be created and submitted to the Messaging Manager for delivery.
Messages waiting to be forwarded to the external system are stored in containers called
message queues. The MSAM API includes calls that enable MSAMs to enumerate, read
and delete messages in a message queue.
The Messaging Manager communicates with the MSAM using High-Level Events.
For example, High-Level Events are used to notify the MSAM about new messages
waiting in the out-going message queue.
Messages, Letters and Reports
An AOCE message consists of a message header and zero or more message blocks.
The message header contains information about the message - for example, the sender
of the message, when the message was sent, the priority it was sent at, the recipients
of the message. The header also contains a message identifier (a number that uniquely
identifies the message), the size of the message, the number of blocks in the message,
and the creator and type of the message. The creator and type of a message is similar to
a Macintosh file creator and type. The creator indicates which application created the
message and the type indicates the set of message blocks that may be contained in the
message. For example, a letter is a message of type ‘lttr’ and letters always contain a
letter header in a message block of type ‘lthd’.
Message blocks contain the information that is being exchanged, for example, the
text of a letter. Data in a message block can be of any type and any size.
Each message block has a creator and type. The creator indicates which
application created the message block and the type gives some indication of the format
of data in the message block. For example, message blocks of type ‘PICT’ contain
pictures.
An AOCE letter contains a message block called the letter header. The letter
header contains information that people need about the letter. This information is in